﻿<?xml version="1.0" encoding="utf-8"?>
<!-- 
  
  If you change this file you will need to regenerate the class definition.  
  Run the following from a visual studio command prompt (so that xsd.exe is in your path):
  
  cd <folder containing this xsd file>
  sd edit LabRunSummary.cs
  xsd.exe /classes /n:Microsoft.DistributedAutomation.LabRuns.Results /o:.\ LabRunSummary.xsd
-->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="Parameter">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Dimension">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Operator" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Parameters">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Parameter" type="Parameter" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Dimensions">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Dimension" type="Dimension" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Context">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Dimensions" type="Dimensions" />
      <xs:element minOccurs="0" maxOccurs="1" name="Parameters" type="Parameters" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Contexts">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Context" type="Context" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Job">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Guid" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Jobs">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Job" type="Job" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Item">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Jobs" type="Jobs" />
      <xs:element minOccurs="1" maxOccurs="1" name="Contexts" type="Contexts">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="ContextType" type="ContextType" use="optional" default="None"/>
  </xs:complexType>
  <xs:complexType name="Items">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" type="Item" name="Item" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LabRunSummary">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ResultSummaryId" type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="ResultSummaryName" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="TotalJobsInQuery" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="ScheduledJobs" type="Items" />
      <xs:element minOccurs="0" maxOccurs="1" name="JobsWithMissingParameters" type="Items" />
      <xs:element minOccurs="0" maxOccurs="1" name="NotScheduledJobs" type="Jobs" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LabRunSummary" type="LabRunSummary" />
  <xs:simpleType name="ContextType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="Constraint" />
      <xs:enumeration value="Mix" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>